/*
        给定一个字符串S

        变化规则:
         交换字符串中任意两个不同位置的字符

        输入描述：
         一串小写字母组成的字符串
        输出描述：
         按照要求变换得到最小字符串

        实例1：
         输入：、
         abcdef
        输出
         abcdef

        实例2：
         输入
         bcdefa
         输出
         acdefb

        s都是小写字符组成
        1<=s.length<=1000
         */
const test = (input) => {
    let inputArr = input.split('')
    console.log(inputArr)
    const swap = (arr, a, b) => {
        let t = arr[a]
        arr[a] = arr[b]
        arr[b] = t
        return arr
    }
    let arr = []
    let len = inputArr.length
    for (let i = 0; i < len; i++) {
        for (let j = i + 1; j < len; j++) {
            arr.push(swap(inputArr.slice(0), i, j))
        }

    }
    console.log(arr, arr.length)
    let result = arr.map(t => t.join('')).sort((a, b) => {
        if (a > b) {
            return 1
        } else if (a < b) {
            return -1
        } else {
            return 0
        }
    })
    console.log(result)
    console.log(result[0])

}
test('abcdef')
test('bcdefa')